TreeGridLoaded ({ /* JSONP header, to be possible to load from xxx_Jsonp data source */ 
   "Cfg" : { "id": "ScheduleBoxes", "NoVScroll": "1", "IdChars": "0123456789", "NumberId": "1", "Undo": "1", "SuppressCfg": "0", "Sorting": "0"   }, 
   "Cfg_2" : { "DefaultDate": "1/1/2010", "MinMidWidth": "250"   }, 
   "LeftCols" : [ 
      { "Name": "id", "Type": "Int", "CanEdit": "0", "CanSort": "0"   }  
   ], 
   "Cols" : [ 
      { "Name": "RUN", "Type": "Text", "Width": "102"   }, 
      { "Name": "ANC", "Type": "Text", "Width": "180"   }, 
      { "Name": "DES", "Type": "Text", "Width": "180"   }, 
      { "Name": "ES", "Type": "Date", "Format": "dddddd", "EditFormat": "%d"   }, 
      { "Name": "LS", "Type": "Date", "Format": "dddddd", "EditFormat": "%d"   }, 
      { "Name": "EF", "Type": "Date", "Format": "dddddd", "EditFormat": "%d"   }, 
      { "Name": "LF", "Type": "Date", "Format": "dddddd", "EditFormat": "%d"   }  
   ], 
   "RightCols" : [ 
      { "Name": "GANTT", "Type": "Gantt", 
         "GanttDataUnits": "d", "GanttUnits": "d", "GanttLastUnit": "d", "GanttWidth": "22", 
         "GanttAncestors": "ANC", "GanttDescendants": "DES", 
         "GanttRun": "RUN", 
         "GanttRunManualChange": "2", 
         "GanttMinStart": "ES", "GanttMaxStart": "LS", "GanttMinEnd": "EF", "GanttMaxEnd": "LF", 
         "GanttLeft": "2", "GanttRight": "2", "GanttShowConstraints": "2", 
         "GanttHeader6": "d#%d", 
         "GanttBase": "1/2/2010", "GanttFinish": "1/15/2010", 
         "GanttDirection": "0", 
         "GanttIncorrectDependencies": "1", "GanttStrict": "1", "GanttFixComplete": "0", 
         "GanttCorrectDependencies": "2", "GanttCorrectDependenciesFixed": "0", 
         "GanttTask": "Box", 
         "GanttRunErrorsShift": "15", 
         "GanttRunCorrectBox": "1", 
         "GanttRunMove": "Slide", 
         "GanttRunMoveRight": "Move", 
         "GanttRunAdjust": "Shrink"  
          }  
   ], 
   "Body" : [ 
      [ 
         { "id": "0"   }, 
         { "id": "1", "RUN": [{Start:'1/12/2010',Duration:2,Id:'1A'},{Start:'1/4/2010',Duration:4,Id:'1B',Complete:100}], "ANC": "2A,1A@2"   }, 
         { "id": "2", "RUN": [{Start:'1/7/2010',Duration:7,Id:'2A',Complete:30}], "ANC": "1B,2A@1"   }, 
         { "id": "4", "RUN": [{Start:'1/10/2010',Duration:4,Id:'4A',State:'disabled'}], "ANC": "1B,4A@1"   }, 
         { "id": "5", "RUN": [{Start:'1/13/2010',Type:'Milestone',Id:'5A'}], "ANC": "4A,5A@4"   }, 
         { "id": "6", "RUN": [{Start:'1/3/2010',Duration:6,Id:'6A'}], "ES": "1/4/2010"   }, 
         { "id": "7", "RUN": [{Start:'1/6/2010',Duration:4,Id:'7A'}], "ANC": "6A,7A@6ss+2;6A,7A@6ff", "LF": "1/12/2010"   }, 
         { "id": "8", "RUN": [{Start:'1/6/2010',Duration:4,Id:'8A'}], "ANC": "7A,8A@7;9A,8A@9ff", "EF": "1/16/2010"   }, 
         { "id": "9", "RUN": [{Start:'1/7/2010',Duration:4,Id:'9A',Complete:50}]   }, 
         { "id": "10", "RUN": [{Start:'1/6/2010',Duration:4,Id:'10A'}], "ANC": "9A,10A@9sf", "LS": "1/8/2010"   }, 
         { "id": "11", "RUN": [{Start:'1/3/2010',Duration:3,Id:'11A',Complete:100}]   }, 
         { "id": "12", "RUN": [{Start:'1/8/2010',Duration:3,Id:'12A',Complete:60},{Start:'1/13/2010',Duration:3,Id:'12B',Complete:0}], "ANC": "11A,12A@11", "ES": "1/7/2010"   }, 
         { "id": "13", "RUN": [{Start:'1/4/2010',Duration:1,Id:'13A'},{Start:'1/7/2010',Duration:3,Id:'13B'},{Start:'1/12/2010',Duration:1,Id:'13C'}], "ANC": "12B,13C@12ff"   }, 
         { "id": "14", "RUN": [{Start:'1/6/2010',Duration:2,Id:'14A',State:'locked'},{Start:'1/12/2010',Duration:3,Id:'14B'},{Start:'1/16/2010',Type:'Milestone',Id:'14C'}], "ANC": "13A,14A@13;14A,14B@14+2"   }  
      ], 
   ], 
   "Header" : { "id": "id", "ANC": "Ancestors", "DES": "Descendants", "RUN": "Run", "ES": "Early Start", "LS": "Late Start", "EF": "Early End", "LF": "Late End"   }, 
   "Solid" : [ 
      { "Kind":"Topbar1", "Space": "0", "Cells": "Base,Finish,Dep,Err,Sep,Correct", 
         "BaseType": "Date", "BaseCanEdit": "1", "BaseWidth": "25", "BaseUndo": "1", 
         "BaseLabel": "Baseline", "BaseFormat": "dddddd", "BaseEditFormat": "%d", 
         "BaseFormula": "Grid.GetGanttBase()", 
         "BaseOnChange": "Grid.SetGanttBase(Value,2);", 
         "BaseHtmlPrefixFormula": "Grid.Cols.GANTT.GanttBase===\"\"?\"<span style='color:gray;'>\":\"<span>\"", 
         "BaseHtmlPostfix": "</span>", 
         "BaseTip": "Starting date of the whole project.<br>No task should start before it.<br>It is also used when correcting dependencies.", 

         "FinishType": "Date", "FinishCanEdit": "1", "FinishWidth": "25", "FinishUndo": "1", "FinishLeft": "1", 
         "FinishLabel": "Finish date", "FinishFormat": "dddddd", "FinishEditFormat": "%d", 
         "FinishFormula": "Grid.GetGanttFinish()", 
         "FinishOnChange": "Grid.SetGanttFinish(Value);", 
         "FinishHtmlPrefixFormula": "Grid.Cols.GANTT.GanttFinish===\"\"?\"<span style='color:gray;'>\":\"<span>\"", 
         "FinishHtmlPostfix": "</span>", 
         "FinishTip": "Finish date of the whole project.<br>If grayed, it is calculated from the last task.<br>It is used to calculate critical path.", 

         "DepType": "Select", 
         "DepDefaults": "|Manual schedule|Auto schedule|Ask for auto schedule", 
         "DepFormula": "Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttCorrectDependencies)", 
         "DepOnChange": "Grid.Cols.GANTT.GanttCorrectDependencies = Grid.GetDefaultsIndex(Row,Col,Value);", 
         "DepTip": "If the dependent tasks will be updated after some task move or resize", 
         "DepWidth": "115", 
         "DepLeft": "5", 
         
         "ErrType": "Select", 
         "ErrLabel": "Incorrect dependencies", 
         "ErrDefaults": "|None|Start > Finish|Start <> Finish", 
         "ErrFormula": "Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttIncorrectDependencies)", 
         "ErrOnChange": "Grid.Cols.GANTT.GanttIncorrectDependencies = Grid.GetDefaultsIndex(Row,Col,Value); Grid.RefreshGanttDependencies(2);", 
         "ErrTip": "Which dependencies will be marked as incorrect", 
         "ErrWidth": "77", 
         "ErrLeft": "1", 

         "SepRelWidth": "1", "SepType": "Html", 

         "CorrectFormula": "ganttdependencyerrors(null,1)", "CorrectOnClick": "CorrectAllDependencies", "CorrectTip": "Click to correct the dependencies"  
       }, 
      { "Kind":"Topbar3", "Cells": "Dir,Strict,Manual,Started,Actual", 
         "DirType": "Select", 
         "DirDefaults": "|Schedule from start|Schedule from finish", 
         "DirFormula": "Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttDirection)", 
         "DirOnChange": "Grid.Cols.GANTT.GanttDirection = Grid.GetDefaultsIndex(Row,Col,Value);", 
         "DirTip": "If the tasks are moved rather left or right", 
         "DirWidth": "110", 

         "StrictType": "Select", "StrictLabel": "Schedule method", 
         "StrictDefaults": "|Minimal move|Strict move|Minimal strict move", 
         "StrictFormula": "Grid.GetDefaultsValue(Row,Col,[0,1,1,2][Grid.Cols.GANTT.GanttStrict])", 
         "StrictOnChange": "Grid.Cols.GANTT.GanttStrict = [0,1,3][Grid.GetDefaultsIndex(Row,Col,Value)];", 
         "StrictTip": "Minimal move (GanttStrict=0) - Move all tasks as little as possible to correct the dependencies<br>Strict move (GanttStrict=1) - Move all first tasks to min start constraint, move all next tasks as close as possible<br>Minimal strict move (GanttStrict=3) - Move all first tasks as little as possible, move all next tasks as close as possible.", 
         "StrictWidth": "110", 
         "StrictLeft": "3", 

         "ManualType": "Bool", "ManualLabelRight": "From the last position", "ManualCanEdit": "1", 
         "ManualFormula": "Grid.Cols.GANTT.GanttRunManualChange?1:0", 
         "ManualOnChange": "Grid.Cols.GANTT.GanttRunManualChange = Value?2:0; Grid.RefreshGantt(255);", 
         "ManualTip": "If set, never automatically moves scheduled tasks before last manual position", 
         "ManualLeft": "3", 

         "StartedType": "Bool", "StartedLabelRight": "Also started tasks", "StartedCanEdit": "1", 
         "StartedFormula": "!Grid.Cols.GANTT.GanttFixComplete", 
         "StartedOnChange": "Grid.Cols.GANTT.GanttFixComplete = !Value; Grid.RefreshGanttDependencies(2);", 
         "StartedTip": "If also the already started tasks can be moved to correct the dependencies", 
         "StartedLeft": "3", 

         "ActualType": "Bool", "ActualLabelRight": "Also actual task", "ActualCanEdit": "1", 
         "ActualFormula": "!Grid.Cols.GANTT.GanttCorrectDependenciesFixed", 
         "ActualOnChange": "Grid.Cols.GANTT.GanttCorrectDependenciesFixed = !Value;", 
         "ActualTip": "After some task is moved or resized, if it can be also moved in following automatic dependencies correcting", 
         "ActualLeft": "3"  
          }, 

      { "Kind":"Topbar2", "Cells": "Correct,Fix,Move", 
         "CorrectType": "Select", "CorrectLabel": "Move boxes when scheduling", 
         "CorrectDefaults": "|freely|to not overlay|preserve order", 
         "CorrectFormula": "Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttRunCorrectBox)", 
         "CorrectOnChange": "Grid.Cols.GANTT.GanttRunCorrectBox = Grid.GetDefaultsIndex(Row,Col,Value);", 
         "CorrectTip": "How will be moved the run boxes when correcting dependencies", 
         "CorrectWidth": "80", 

         "MoveType": "Select", "MoveLabel": "Move boxes by mouse", 
         "MoveDefaults": "|freely|preserve order|preserve spaces", 
         "MoveFormula": "Grid.GetDefaultsValue(Row,Col,{\"Error\":0,\"Shrink\":1,\"Slip\":2}[Grid.Cols.GANTT.GanttRunAdjust])", 
         "MoveOnChange": "Grid.Cols.GANTT.GanttRunAdjust = [\"Error\",\"Shrink\",\"Slip\"][Grid.GetDefaultsIndex(Row,Col,Value)];", 
         "MoveTip": "How will be moved the run boxes when correcting dependencies", 
         "MoveWidth": "80", "MoveLeft": "5"  
          }  
   ], 
   "Media" : [ 
      { "MaxHeight": "800", "Tag": "0", 
         "Cfg" : { "Size": "Small"   }  
      }, 
   ], 
}) /* End of JSONP header */ 